﻿using System;
using System.Data;
using System.Linq;
using LayerEntity.Persona.BaseClass;

namespace LayerEntity.Persona
{
    /// <summary>
    /// Descripcion: 
    /// Clase para controlar las Direcciones de los Empleados, Proveedores, Clientes, etc.
    /// </summary>
    public class EDireccion : EInformacionContacto
    {
        #region Constructor
        /// <summary>
        /// Inicializa la Clase <see cref="EDireccion"/>
        /// </summary>
        public EDireccion() : base()
        {
            this.Ubigeo = string.Empty;
            this.Direccion = string.Empty;
        }

        /// <summary>
        /// Inicializa la Clase <see cref="EDireccion"/>
        /// </summary>
        /// <param name="record"></param>
        public EDireccion(IDataRecord record)
        {
            this.Direccion = record["dir_direccionpersona"].ToString();
            this.EMail = record["email_direccionpersona"].ToString();
            this.IdEstado = (int)record["id_estado"];
            this.IdPersona =  record["id_persona"].ToString();
            this.IsPrincipal = Convert.ToBoolean(Convert.ToInt32 (  record["is_principal"].ToString()));
            this.Item = (int)record["idir_personal"];
            this.Movil = record["mov_direccionpersona"].ToString();
            this.Nextel = record["nex_direccionpersona"].ToString();
            this.NombreContacto = record["con_direccionpersona"].ToString();
            this.Referencia = record["ref_direccionpersona"].ToString();
            this.Rpm = record["rpm_direccionpersona"].ToString();
            this.Telefono = record["tel_direccionpersona"].ToString();
            this.Ubigeo = record["ubigeo"].ToString();
            this.Web = record["web"].ToString();
        }

        #endregion

        #region Propidades
        /// <summary>
        /// Ubigeo de la Direccion, debe ser valida
        /// </summary>
        public string Ubigeo { get; set; }

        /// <summary>
        /// Direccion a registrar
        /// </summary>
        public string Direccion { get; set; }
        #endregion

        #region Funciones
        public object[] ToObject(int operacion)
        {
            object[] obj = new object[]
            {
                this.Item,
                this.Direccion,
                this.Telefono,
                this.Ubigeo,
                this.IdPersona,
                this.NombreContacto,
                this.Movil,
                this.Nextel,
                this.Rpm,
                this.Referencia,
                this.EMail,
                this.IdEstado,
                Convert.ToInt32(this.IsPrincipal),
                operacion
            };

            return obj;
        }
        #endregion
    }
}